home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / libs / knowhow4 / blkmenu.cpp < prev    next >
C/C++ Source or Header  |  1994-10-10  |  2KB  |  74 lines

  1. #include "blkmenu.h"
  2.  
  3. BlockMenu::BlockMenu(rect coord, char* fName, char* h, int shadow,
  4.            char* HOT, char** ITEMSTRINGS,
  5.            rect STATUSPOS, int STATUSTYPE, char** STATUSSTRINGS,
  6.            int* STATUSLIST, int res, BORDERS b_type,
  7.            BORDERS hdr_b_type, int pat, int hdr_pat, int elem_pat,
  8.                int menu_pat)
  9.     : Block(coord, fName, "", shadow,
  10.            res, b_type, NO_BORDER, pat, hdr_pat, elem_pat)
  11.     {
  12.     menu = new TextMenu(rect(coord.origin.X + 3 + textX(shadow),
  13.              coord.origin.Y + 1 + textY(shadow),
  14.          coord.corner.X - 3 - textX(shadow),
  15.          coord.corner.Y - 1 - textY(shadow)),
  16.          "", h, HOT, 1, 1, ITEMSTRINGS, STATUSPOS,
  17.            STATUSTYPE, STATUSSTRINGS, STATUSLIST,
  18.            FIXED, 0, b_type, hdr_b_type, menu_pat, hdr_pat);
  19.  
  20.     menu->set_ret(1);
  21.  
  22.     insert(menu, 1);
  23.  
  24.     assign(menu, left_element, AC_LEFT);
  25.     assign(menu, right_element, AC_RIGHT);
  26.     assign(menu, up_element, AC_UP);
  27.     assign(menu, dn_element, AC_DOWN);
  28.     assign(menu, cancel_element, AC_CANCEL);
  29.     assign(menu, pg_up_element, AC_PG_UP);
  30.     assign(menu, pg_dn_element, AC_PG_DN);
  31.     }
  32. ////////////////////////
  33. void BlockMenu::rearrange()
  34.     {
  35.     Block::rearrange();
  36.     rect coord = textRect(w1->bound());
  37.  
  38.     menu->repose(rect(coord.origin.X + 3 + textX(w1->get_shadow()),
  39.                       coord.origin.Y + 1 + textY(w1->get_shadow()),
  40.               coord.corner.X - 3 - textX(w1->get_shadow()),
  41.               coord.corner.Y - 1 - textY(w1->get_shadow())));
  42.     }
  43. /////////////////////////
  44. void BlockMenu::hide()
  45.     {
  46.     menu->hide();
  47.     w1->hide();
  48.     }
  49. ///////////////////////////
  50. /*
  51. void main()
  52.     {
  53.     if(!init_KNOW_HOW())
  54.         return;
  55.     setfillstyle(SOLID_FILL, pColorSet->colors.BAK_COLOR);
  56.     bar(0, 0, getmaxx(), getmaxy());
  57.  
  58.     char* LIST[] = { "1. one", "2. two", "3. three", "4. four",
  59.                      "5. five", "6. six", "7. seven", "8. eight",
  60.              "9. nine", "" };
  61.  
  62.     BlockMenu m(rect(10, 10, 60, 20), "window.pcy", "Block Menu", 6,
  63.            "123456789", LIST, rect(0, 24, 79, 25), STRING_STATUS,
  64.            LIST, NULL, MOVE | RESIZE | SCROLL_VERT | SCROLL_HORIZ,
  65.            SHOW_BORDER, SHOW_BORDER, 11, 14, 13, 16);
  66.  
  67.     m.show_window();
  68.     m.exe();
  69.     m.hide();
  70.     close_KNOW_HOW();
  71.     closegraph();
  72.     }
  73.  
  74. */